package com.yhsoft.benefitcard.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 福利卡信息表
 * </p>
 *
 * @author yyyyyyyh
 * @since 2023-10-04
 */
@TableName("benefit_cards_info")
@Data
public class CardsInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 绑定人id
     */
    private String userId;

    /**
     * 是否正在使用
     */
    private Integer isInUse;

    /**
     * 福利卡类型
     */
    private String cardType;

    /**
     * 余额
     */
    private BigDecimal balance;

    /**
     * 福利卡卡号
     */
    @ApiModelProperty("卡号")
    private String benefitCardsNum;

    /**
     * 福利卡密码
     */
    @ApiModelProperty("密码")
    private String benefitCardsPassword;

    /**
     * 一级批次号
     */
    private String firstBatchNum;

    /**
     * 二级批次号
     */
    @ApiModelProperty("激活批次")
    private String secondBantchNum;

    /**
     * 是否被激活
     */
    private Integer isActivated;

    /**
     * 是否已使用，默认0，电影券，礼品卡使用后置为1
     */
    private Integer isUsed;

    /**
     * 激活时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private LocalDateTime activationTime;

    /**
     * 逻辑删除
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private LocalDateTime updatedTime;
}
